﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum ТипыОтветаНаВопросАнкеты
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"a626e124-224f-4306-a730-4ca3c6c5f1e4\", \"Представление\":\"Строка\"}")]
		Строка = 0,//строки
		[EnumMember(Value = "{\"Ссылка\":\"bc109286-e2e0-4bf3-b95a-44cbc69bd471\", \"Представление\":\"Число\"}")]
		Число = 1,//числа
		[EnumMember(Value = "{\"Ссылка\":\"f797b5f5-a9e4-4180-9add-d5a53a7dcb2a\", \"Представление\":\"Дата\"}")]
		Дата = 2,//даты
		[EnumMember(Value = "{\"Ссылка\":\"6114768f-c86b-45a3-b9dd-3e03cdd91061\", \"Представление\":\"Булево\"}")]
		Булево = 3,//да/нет
		[EnumMember(Value = "{\"Ссылка\":\"6a2372dd-ae2d-4cf8-8ff4-25b0a985d057\", \"Представление\":\"ОдинИзВариантовОтвета\"}")]
		ОдинИзВариантовОтвета = 4,//одного из вариантов
		[EnumMember(Value = "{\"Ссылка\":\"14dbd1dc-80d6-4de2-95a6-6018bba8b3ab\", \"Представление\":\"НесколькоВариантовОтвета\"}")]
		НесколькоВариантовОтвета = 5,//нескольких вариантов из списка
		[EnumMember(Value = "{\"Ссылка\":\"89f9da8e-eeed-4210-8c9a-017d636deac3\", \"Представление\":\"УдалитьАдрес\"}")]
		УдалитьАдрес = 6,//адреса
		[EnumMember(Value = "{\"Ссылка\":\"b7c59df6-0c28-4d42-818e-c2fdb3302736\", \"Представление\":\"УдалитьТелефон\"}")]
		УдалитьТелефон = 7,//телефонного номера
		[EnumMember(Value = "{\"Ссылка\":\"d421e10c-b24e-4e44-a3d6-d6d6dbb8cb2d\", \"Представление\":\"УдалитьАдресЭлектроннойПочты\"}")]
		УдалитьАдресЭлектроннойПочты = 8,//адреса электронной почты
		[EnumMember(Value = "{\"Ссылка\":\"59f25c1f-a263-4a27-bf19-707811b996e8\", \"Представление\":\"УдалитьВебСтраница\"}")]
		УдалитьВебСтраница = 9,//ссылки на веб-страницу
		[EnumMember(Value = "{\"Ссылка\":\"7e53bbb2-8bf3-4ea7-b2ae-b7e065a81e7f\", \"Представление\":\"УдалитьДругое\"}")]
		УдалитьДругое = 10,//другой контактной информации
		[EnumMember(Value = "{\"Ссылка\":\"7140eab7-6b65-40dc-afb5-2d179ad95982\", \"Представление\":\"Табличный\"}")]
		Табличный = 11,//таблицы
		[EnumMember(Value = "{\"Ссылка\":\"cf471838-f8d8-4969-9c9a-2f6dc6a28656\", \"Представление\":\"Текст\"}")]
		Текст = 12,//текста
		[EnumMember(Value = "{\"Ссылка\":\"d52eda4e-3fc3-4c66-8eeb-0cee30019910\", \"Представление\":\"КонтактнаяИнформация\"}")]
		КонтактнаяИнформация = 14,//контактной информации
	}
	public static partial class ТипыОтветаНаВопросАнкеты_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid Строка = new Guid("a34c30a7-c5c6-e4f1-4306-224fa626e124");//строки
		public static readonly Guid Число = new Guid("cb445ab9-9bc6-71d4-4bf3-e2e0bc109286");//числа
		public static readonly Guid Дата = new Guid("a5d5dd9a-7d3a-2acb-4180-a9e4f797b5f5");//даты
		public static readonly Guid Булево = new Guid("033eddb9-d9cd-6110-45a3-c86b6114768f");//да/нет
		public static readonly Guid ОдинИзВариантовОтвета = new Guid("b025f48f-85a9-57d0-4cf8-ae2d6a2372dd");//одного из вариантов
		public static readonly Guid НесколькоВариантовОтвета = new Guid("1860a695-a8bb-abb3-4de2-80d614dbd1dc");//нескольких вариантов из списка
		public static readonly Guid УдалитьАдрес = new Guid("7d019a8c-6d63-c3ea-4210-eeed89f9da8e");//адреса
		public static readonly Guid УдалитьТелефон = new Guid("fdc28e81-30b3-3627-4d42-0c28b7c59df6");//телефонного номера
		public static readonly Guid УдалитьАдресЭлектроннойПочты = new Guid("d6d6d6a3-b8db-2dcb-4e44-b24ed421e10c");//адреса электронной почты
		public static readonly Guid УдалитьВебСтраница = new Guid("787019bf-b911-e896-4a27-a26359f25c1f");//ссылки на веб-страницу
		public static readonly Guid УдалитьДругое = new Guid("e0b7aeb2-a865-7f1e-4ea7-8bf37e53bbb2");//другой контактной информации
		public static readonly Guid Табличный = new Guid("172db5af-d99a-8259-40dc-6b657140eab7");//таблицы
		public static readonly Guid Текст = new Guid("6d2f9a9c-a2c6-5686-4969-f8d8cf471838");//текста
		public static readonly Guid КонтактнаяИнформация = new Guid("ee0ceb8e-0130-1099-4c66-3fc3d52eda4e");//контактной информации
		public static ТипыОтветаНаВопросАнкеты Получить(this ТипыОтветаНаВопросАнкеты Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ТипыОтветаНаВопросАнкеты Получить(this ТипыОтветаНаВопросАнкеты Значение, Guid Ссылка)
		{
			if(Ссылка == Строка)
			{
				return ТипыОтветаНаВопросАнкеты.Строка;
			}
			else if(Ссылка == Число)
			{
				return ТипыОтветаНаВопросАнкеты.Число;
			}
			else if(Ссылка == Дата)
			{
				return ТипыОтветаНаВопросАнкеты.Дата;
			}
			else if(Ссылка == Булево)
			{
				return ТипыОтветаНаВопросАнкеты.Булево;
			}
			else if(Ссылка == ОдинИзВариантовОтвета)
			{
				return ТипыОтветаНаВопросАнкеты.ОдинИзВариантовОтвета;
			}
			else if(Ссылка == НесколькоВариантовОтвета)
			{
				return ТипыОтветаНаВопросАнкеты.НесколькоВариантовОтвета;
			}
			else if(Ссылка == УдалитьАдрес)
			{
				return ТипыОтветаНаВопросАнкеты.УдалитьАдрес;
			}
			else if(Ссылка == УдалитьТелефон)
			{
				return ТипыОтветаНаВопросАнкеты.УдалитьТелефон;
			}
			else if(Ссылка == УдалитьАдресЭлектроннойПочты)
			{
				return ТипыОтветаНаВопросАнкеты.УдалитьАдресЭлектроннойПочты;
			}
			else if(Ссылка == УдалитьВебСтраница)
			{
				return ТипыОтветаНаВопросАнкеты.УдалитьВебСтраница;
			}
			else if(Ссылка == УдалитьДругое)
			{
				return ТипыОтветаНаВопросАнкеты.УдалитьДругое;
			}
			else if(Ссылка == Табличный)
			{
				return ТипыОтветаНаВопросАнкеты.Табличный;
			}
			else if(Ссылка == Текст)
			{
				return ТипыОтветаНаВопросАнкеты.Текст;
			}
			else if(Ссылка == КонтактнаяИнформация)
			{
				return ТипыОтветаНаВопросАнкеты.КонтактнаяИнформация;
			}
			return ТипыОтветаНаВопросАнкеты.ПустаяСсылка;
		}
		public static byte[] Ключ(this ТипыОтветаНаВопросАнкеты Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ТипыОтветаНаВопросАнкеты Значение)
		{
			switch (Значение)
			{
				case ТипыОтветаНаВопросАнкеты.Строка: return Строка;
				case ТипыОтветаНаВопросАнкеты.Число: return Число;
				case ТипыОтветаНаВопросАнкеты.Дата: return Дата;
				case ТипыОтветаНаВопросАнкеты.Булево: return Булево;
				case ТипыОтветаНаВопросАнкеты.ОдинИзВариантовОтвета: return ОдинИзВариантовОтвета;
				case ТипыОтветаНаВопросАнкеты.НесколькоВариантовОтвета: return НесколькоВариантовОтвета;
				case ТипыОтветаНаВопросАнкеты.УдалитьАдрес: return УдалитьАдрес;
				case ТипыОтветаНаВопросАнкеты.УдалитьТелефон: return УдалитьТелефон;
				case ТипыОтветаНаВопросАнкеты.УдалитьАдресЭлектроннойПочты: return УдалитьАдресЭлектроннойПочты;
				case ТипыОтветаНаВопросАнкеты.УдалитьВебСтраница: return УдалитьВебСтраница;
				case ТипыОтветаНаВопросАнкеты.УдалитьДругое: return УдалитьДругое;
				case ТипыОтветаНаВопросАнкеты.Табличный: return Табличный;
				case ТипыОтветаНаВопросАнкеты.Текст: return Текст;
				case ТипыОтветаНаВопросАнкеты.КонтактнаяИнформация: return КонтактнаяИнформация;
			}
			return Guid.Empty;
		}
	}
}